/*
 * $Id: LoggerFactory.java 101 2013-01-14 12:51:21Z vladimirow@mail.ru $
 * $HeadURL: http://ultralog.googlecode.com/svn/ultralog/tags/release-0.1/src/java/com/google/code/ultralog/factory/LoggerFactory.java $
 *
 * This file is a part of ultralog project (http://code.google.com/p/ultralog/).
 * Released under New BSD License.
 */
package com.google.code.ultralog.factory;

import com.google.code.ultralog.Logger;

/**
 * Creates instances of logger interfaces.
 *
 * @author Mikhail Vladimirov
 */
public interface LoggerFactory {
    /**
     * Create instance of given logger interface with given logger name.
     *
     * @param <T> logger interface type to create instance of
     * @param loggerInterface logger interface to create instance of
     * @param loggerName logger name for the new instance
     * @return instance of given logger interface
     */
    public <T extends Logger> T createLogger (
        Class <T> loggerInterface, String loggerName);
}
